﻿using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using StudentWeb.BLL;
using StudentWeb.Model;
using IResult = StudentWeb.BLL.IResult;

namespace StudentWeb.Controllers
{
    /// <summary>
    /// 教师管理 API 控制器，提供对外的 HTTP 接口
    /// </summary>
    [ApiController]
    [Route("[controller]/[action]")]
    public class TeacherController(TeacherBO teacherBO) : ControllerBase
    {
        #region 教师登录
        /// <summary>
        /// 教师登录请求参数
        /// </summary>
        public record LoginParam(string Username, string Password);

        /// <summary>
        /// 教师登录
        /// </summary>
        /// <param name="model">登录请求参数</param>
        /// <returns>登录结果</returns>
        [HttpPost]
        public IResult Login(LoginParam model)
        {
            // 检查用户名是否为空，如果为空则返回失败结果
            if (string.IsNullOrEmpty(model.Username))
            {
                return Result.Fail("用户名不能为空");
            }
            // 检查密码是否为空，如果为空则返回失败结果
            if (string.IsNullOrEmpty(model.Password))
            {
                return Result.Fail("密码不能为空");
            }
            // 调用业务逻辑层（BLL）进行登录操作
            return teacherBO.Login(model.Username, model.Password);
        }
        #endregion
    }
}